package modelo;

import java.util.LinkedList;
import java.util.List;

public class GeneradorDeFlotaStandard implements GeneradorDeFlota {

	@Override
	public List<Nave> generarFlota() {
		
		List <Nave> flota = new LinkedList<Nave>();
		
		Coordenada posicion1 = new Coordenada(7,1);
		Movimiento direccion1 = new MovimientoAlEste();
		Orientacion orientacion1 = new OrientacionHorizontal();
		Nave lancha1 = new Lancha(posicion1,direccion1,orientacion1);
		
		flota.add(lancha1);
		
		Coordenada posicion2 = new Coordenada(0,7);
		Movimiento direccion2 = new MovimientoAlSur();
		Orientacion orientacion2 = new OrientacionVertical();
		Nave lancha2 = new Lancha(posicion2,direccion2,orientacion2);
		
		flota.add(lancha2);
		
		Coordenada posicion3 = new Coordenada(5,2);
		Movimiento direccion3 = new MovimientoAlOeste();
		Orientacion orientacion3 = new OrientacionVertical();
		Nave destructor1 = new Destructor(posicion3,direccion3,orientacion3);
		
		flota.add(destructor1);
		
		Coordenada posicion4 = new Coordenada(7,9);
		Movimiento direccion4 = new MovimientoAlNorte();
		Orientacion orientacion4 = new OrientacionHorizontal();
		Nave destructor2 = new Destructor(posicion4,direccion4,orientacion4);
		
		flota.add(destructor2);
		
		Coordenada posicion5 = new Coordenada(4,7);
		Movimiento direccion5 = new MovimientoAlEste();
		Orientacion orientacion5 = new OrientacionHorizontal();
		Nave buque = new Buque(posicion5,direccion5,orientacion5);
		
		flota.add(buque);
		
		Coordenada posicion6 = new Coordenada(1,1);
		Movimiento direccion6 = new MovimientoAlNoroeste();
		Orientacion orientacion6 = new OrientacionVertical();
		Nave portaaviones = new Portaaviones(posicion6,direccion6,orientacion6);
		
		flota.add(portaaviones);
		
		Coordenada posicion7 = new Coordenada(2,8);
		Movimiento direccion7 = new MovimientoAlSureste();
		Orientacion orientacion7 = new OrientacionHorizontal();
		Nave rompehielos = new Rompehielos(posicion7,direccion7,orientacion7);
		
		flota.add(rompehielos);
		
		return flota;
	}

}
